Service Providers (SPs) may implement several models of service provision. In a basic hosting model, the SP provides dedicated computing and shared networking equipment, and the customer installs software on the computing equipment to provide the desired services, with the responsibility remaining with the customer for the monitoring and maintenance of the installed software. In a variation of this model, referred to as outsourcing, the SP does the installation, maintenance and monitoring of the software. In the application service provision, or ASP model, the SP owns the equipment and software and maintains it, and charges customers for its use. A common feature of all of these models is the consolidation of computing and networking equipment and skilled personnel at the Service Provider's site.
These various models all provide several advantages to the service customer. To varying degrees, the customer is relieved of the responsibility of purchasing and financing the hardware and software needed to provide the service. The customer may also be relieved of the continuing responsibility to monitor and maintain the hardware and software, as well as from the need to employ skilled Information Technology (IT) professionals to perform the maintenance operations. In the ASP model, especially where the hardware and software are shared among several customers, the costs of the hardware and software may, be shared as well, reducing the cost to each customer to have the service available. If the service has been installed by the ASP for other customers, that service can be made nearly instantly available to a new customer, reducing the delay for that customer to be able to use the service.
However, not all services are good candidates for the SP model, and the networking environment also affects the economics and usability of SP-provided services. Since there is a communication network and a consequent communication delay between the customer's clients and the servers of the SP, services that require rapid response to a user interaction may not be feasible to provide by the SP model.
Further, in some environments the communications network between the customer and the SP may occasionally be unavailable, or the provider of this network may choose to charge for its use in a manner inconsistent with the customer's budget for the service. Finally, the customer may require that certain sensitive data never leave the customer's premises, while the software providing the service may depend on that data being locally accessible.
For these and other reasons, it can be appreciated that the various SP models are not universally applicable, yet the advantages that are realized by their use make them desirable for many customers.
In general, the customer often has the option of providing services from local resources, either clients or servers. However, and especially for the smaller customer who may not have access to skilled IT professionals, or whose access to them may not always be timely, it may not be attractive for the customer to provision the desired services themselves. The problem to be solved may thus be simply stated as follows: the appropriate provisioning of the service should involve execution of components of the service locally, but the SP does not support local provisioning, and the customer does not desire to support his own local provisioning.
Provisioning of a service on the customer's premises can be accomplished using system management technology, examples of which include TME 10™ and IT Director™ software products available from Tivoli Systems, Inc. These products require an agent software component installed on every computer that can be provisioned, and establish a manager/subordinate relationship between a “management server” and each agent. The initiation of software distribution and installation on a client is typically done manually by a console operator, who specifies which software to distribute and what clients to distribute it to. Some SPs are known to remotely manage hardware and software on their customer's premises using system management software.
The resolution of the customer's problem (the need for local provisioning, but the desire not to be responsible for managing the local provisioning) can involve an SP using system management technology, and for some customers this is an economically viable proposition. However, for the smaller customer the need for manual initiation of provisioning by skilled IT professional employees of the SP, and its attendant costs, make this option unaffordable. Even though system management technology enables local provisioning, it itself does not provide the simplicity, speed and low cost that the customer desires. Furthermore, the typical customer does wish to determine the details of how a service is to be provided. The customer has a budget, and within this budget seeks to provision a desired service that optimizes the customer's operational criteria.
These criteria typically include responsiveness (service reaction time to a user interaction), availability (the probability that the service will be available when it is needed), cost of usage of the communications network and privacy and control of sensitive data. The way in which the service is provisioned affects these criteria.
Prior to this invention, a satisfactory solution to these problems was not available.
U.S. Pat. No. 5,748,896, “Remote Network Administration Methods and Apparatus”, to Daly et. al. discloses a method for a management server to obtain information about service instantiations for the purposes of displaying the status of those instantiations on a management console, wherein the management server need not have been programmed to be aware of all of the types of services that it will actually deal with. This is achieved by storing service objects with the components of the service, these service objects being programmed to be aware of the specific service that the associated component can be used to instantiate. The sequestering of service-specific programming in these service objects permits the management server to be unaware of the details of the services it manages. Daly et. al. does not, however, address the process of instantiation of the services, nor does it address the flexible instantiation of services that is an aspect of this invention. Daly et al. also does not disclose a method that uses service attributes specified by the subscriber to drive the instantiation of services in a manner responsive to the subscriber's desires, nor do Daly et al. address the transparent re-instantiation of services.